ICONS - Assembler Source
 
   0 ;
   1 ;iconroutinen
   2 ;
   3             jmp ICONIN
   4 ;
   5             dat 1,2,4,8,16,32,64,128
   6 ;
   7 ;---
   8 ICONIN      inc ICONFLG
   9             lda #9
  10             jsr SETVOICE1
  11 ICONMAINC   jsr JOYSTICK
  12             beq ICONMAINC
  13             lda #2
  14             jsr LTIMER
  15 ICONMAINE   lda #35
  16             sta ICONSPD
  17 ICONMAINA   jsr LDMAPEXE
  18             jsr JOYSTICK
  19             beq ICONJMP
  20             rts
  21             bmi ICONMAINE
  22             cpx #2
  23             bcc ICONJMPX
  24 ;
  25             rts
  26             rts
  27             lda ICONSPD
  28             cmp #20
  29             bcc ICONMAINB
  30             sbc #3
  31             sta ICONSPD
  32 ICONMAINB   cpx ICONDIR
  33             beq ICONMAIND
  34             lda #35
  35             sta ICONSPD
  36 ICONMAIND   stx ICONDIR
  37             jsr NEXTICON
  38             jsr SETICON
  39             jsr MOVEICON
  40             jmp ICONMAINA
  41 ;
  42 ICONJMP     ldx MICON
  43             lda V3+23,X
  44             sec
  45             sbc #44
  46             cmp #6
  47             beq ICONJMPC
  48             jsr CHEATTST
  49 ICONJMPC    tay
  50             asl
  51             tax
  52             lda ICONDAT,Y
  53             bpl ICONJMPA
  54             lda #0
  55             jsr NORMTEXT
  56             jmp ICONJMPX
  57 ;
  58 ICONJMPA    lda ICNJMPDAT,X
  59             sta ICONJMPB+1
  60             lda ICNJMPDAT+1,X
  61             sta ICONJMPB+2
  62             lda #9
  63             jsr SETVOICE1
  64             jsr RESTLOAD
  65 ICONJMPB    jsr ICON1
  66 ICONJMPX    lda #255
  67             sta ICONFLG
  68             sta SPRKOLFLG
  69             lda #2
  70             jsr LTIMER
  71             dex
  72 ;
  73 ICNJMPDAT   dat ICON1,ICON2,ICON3,ICON4,ICON5,ICON6,ICON7,ICON8,ICON9,ICON10
  74             dat ICON11,ICON12,ICON13,ICON14,ICON15,ICON16,ICON17,ICON18
  75             dat ICON19,ICON20
  76 ;
  77 ;---
  78 ;
  79 MOVEICON    lda MICONDAT,X
  80             sta MOVEICONB
  81             lda #36
  82             sta A
  83 MOVEICONA   lda ICONSPD
  84             sec
  85             jsr MAINTIMER
  86             ldx #6
  87 MOVEICONB   inc V3+7,X
  88             rts
  89             rts
  90             bpl MOVEICONB
  91             clc
  92             jsr MAINTIMER
  93             dec A
  94             bne MOVEICONA
  95 ;
  96             lda ICONDIR
  97             eor #1
  98             tax
  99             lda SICONDAT,X
 100             ldx #0
 101 MOVEICONC   cmp V3+7,X
 102             beq MOVEICOND
 103             inx
 104             inx
 105             bne MOVEICONC
 106 MOVEICOND   txa
 107             lsr
 108             sta FICON
 109             ldx #0
 110 MOVEICONE   lda V3+7,X
 111             cmp #176
 112             beq MOVEICONF
 113             inx
 114             inx
 115             bne MOVEICONE
 116 MOVEICONF   txa
 117             lsr
 118             sta MICON
 119             dex
 120 ;
 121 MICONDAT    dat $DE,$FE
 122 ;
 123 ;
 124 SETICON     ldx ICONDIR
 125             lda FICON
 126             asl
 127             tay
 128             lda SICONDAT,X
 129             sta V3+7,Y
 130             dex
 131 ;
 132 SICONDAT    dat 248,104
 133 ;
 134 ;
 135 NEXTICON    ldx ICONDIR
 136             lda NICONDAT,X
 137             ldy #0
 138 NEXTICONA   cmp V3+7,Y
 139             beq NEXTICONB
 140             iny
 141             iny
 142             bne NEXTICONA
 143 ;
 144 NEXTICONB   tya
 145             lsr
 146             tay
 147             ldx FICON
 148             lda V3+23,Y
 149             sec
 150             sbc #44
 151             tay
 152 ;
 153             jsr NEXTICON1
 154             sta V3+17,X
 155             clc
 156             tya
 157             adc #44
 158             sta V3+23,X
 159             dex
 160 ;
 161 NEXTICON1   lda ICONDIR
 162             bne NICON1A
 163             iny
 164             cpy #20
 165             bcc NICON1X
 166             ldy #0
 167             beq NICON1X
 168 NICON1A     dey
 169             bpl NICON1X
 170             ldy #19
 171 NICON1X     lda ICONDAT,Y
 172             bmi NEXTICON1
 173             dex
 174 ;
 175 NICONDAT    dat 212,140
 176 ;
 177 ;
 178 CHEATTST    pha
 179             ldx CHEATCTR
 180             cmp CHTDAT,X
 181             bne CHEATTSTA
 182             inc CHEATCTR
 183             bne CHEATTSTX
 184 CHEATTSTA   lda # 0
 185             sta CHEATCTR
 186 CHEATTSTX   pla
 187             dex
 188 CHTDAT      dat 11, 1, 17
 189 ; ESSEN,LAUFEN,SCHLAFEN,PROGRAMM
 190 ;
 191 ;
 192 ;
 193 ICON1       lda ATTACKFLG
 194             bne ICON1X
 195             ldx ICON1TXT
 196             ldy ICON1TXT+1
 197             jsr PRSTRING
 198             ldx #0
 199             stx PLRTRCTR
 200             stx PLREXPCTR
 201             stx FOUNDVAR
 202             inx
 203 ICON1A      stx AKTSPRITE
 204             lda SMTYP,X
 205             bmi ICON1B
 206             jsr PRTYPIN
 207             ldx AKTSPRITE
 208             lda SMTYP,X
 209             ora #64
 210             sta SMTYP,X
 211             inc FOUNDVAR
 212 ICON1B      inx
 213             cpx #4
 214             bcc ICON1A
 215             lda FOUNDVAR
 216             sta ATTACKFLG
 217             bne ICON1X
 218             lda #19
 219             jmp NORMTEXT
 220 ICON1X      dex
 221 ;
 222 ;---
 223 ;
 224 ICON2       lda ATTACKFLG   ;WALK
 225             beq ICON2B
 226 ;
 227             lda #0
 228             sta ATTACKFLG
 229             jsr ICON2PR
 230             ldx #0
 231             lda SHAPE
 232             bne ICON2C
 233             lda PLRTRCTR
 234             jsr GOLDZU
 235             ldx PLRTRCTR
 236             ldy #0
 237             clc
 238             jsr BYTEASC
 239             lda #11
 240             jsr NORMTEXT
 241             lda #0
 242             jsr ICN5R2PRA
 243             lda #1
 244             jsr NPRINT
 245 ICON2C      lda PLREXPCTR
 246             tax
 247             clc
 248             adc EXPCTR
 249             sta EXPCTR
 250             bcc ICON2A
 251             inc EXPCTR+1
 252             bne ICON2A
 253             dec EXPCTR+1
 254 ICON2A      ldy #0
 255             clc
 256             jsr BYTEASC
 257             lda #1
 258             jsr ICON2PR
 259 ;
 260             jmp ATTCKEND
 261 ;
 262 ;
 263 ICON2B      lda SHAPE
 264             beq ICON2X
 265             jmp LEAVESHIP
 266 ;
 267 (c1)CHEATMODE
 268 ICON2X      inc STUNDE
 269             ldy #1
 270             ldx #0
 271             jmp CLOCKEXE
 272             end
 273             ifz CHEATMODE
 274 ICON2X      dex
 275             end
 276 ;
 277 ICON2PR     ldx ICON2TXT
 278             ldy ICON2TXT+1
 279             jmp GUPSTRING
 280 ;
 281 ;---
 282 ;
 283 ICON3       lda SPRKOLVAR
 284             lsr
 285             bcs ICON3A
 286 ICON3AA     lda #0
 287             sta SPELLCTR
 288             clc
 289             jmp PRTYP
 290 ;
 291 ICON3A      jsr NEARSPR
 292             txa
 293             beq ICON3AA
 294             sta TALKSPR
 295             lda #0
 296             sta SPRKOLFLG
 297             ldy #7
 298 ICON3AB     cpy TALKSPR
 299             beq ICON3AC
 300             lda SMTYP,Y
 301             and #%11011111
 302             sta SMTYP,Y
 303 ICON3AC     dey
 304             bne ICON3AB
 305             lda SMTYP,X
 306             and #31
 307             cmp #BUDDHA
 308             beq ICON3AA
 309 ICON3IN     lda SMFIXPERS,X
 310             and #15
 311             sta TALKPERS
 312             sec
 313             jsr PRTYP
 314             lda #1
 315             jsr NPRINT
 316             lda TALKSPR
 317             cmp #4
 318             bcc ICON3BA
 319             ldy TALKPERS
 320             lda CURSES
 321             and #2
 322             beq ICON3AD
 323             lda FIXPTYP,Y ;KEIN
 324             bpl ICON3AE   ;HAENDLER
 325             lda FIXPSHOP,Y
 326             and #15
 327             cmp #8  ;MAGIC
 328             beq ICON3AD
 329 ICON3AE     jmp ICON3X
 330 ;
 331 ICON3AD     jsr PRNAME
 332             jsr WAITBUTTN
 333             lda SPELLCTR
 334             bne ICON3BB
 335             lda QHEADTXT
 336             ldy QHEADTXT+1
 337             sta NMENUHPTR
 338             sty NMENUHPTR+1
 339             lda #%10000001
 340             sta NMENUFLG
 341             lda #7
 342             ldx QUESTTXT
 343             ldy QUESTTXT+1
 344             jsr NMENU
 345 ;
 346             cmp #7
 347             bcc ICON3B
 348 ICON3AX     lda #0
 349             sta SPELLCTR
 350             jmp NOTALKPR
 351 ;
 352 ICON3B      sta TALKMEN
 353             jsr TALKAKT
 354             bcc ICON3X
 355 ICON3BB     lda TALKSPR
 356             cmp #4
 357             bcs ICON3C
 358 ICON3BA     tay
 359             lda #0
 360             sta SPELLCTR
 361             lda CURSES
 362             and #2
 363             bne ICON3AE
 364             lda SMTYP,Y
 365             and #31
 366             ldx #MTEXTLIST< ;RANDOM
 367             ldy #MTEXTLIST> ;PERSON
 368             jmp GUPSTRING
 369 ;
 370 ICON3C      lda SPELLCTR
 371             bne ICON3D
 372             ldy TALKPERS
 373             lda FIXPTYP,Y ;HAENDLER
 374             bmi ICON3G
 375 ICON3G      lda FIXPTLKDT,Y ;WILL
 376             bmi ICON3X      ;NICHT
 377             ldy TALKMEN
 378             and ZWEIERPOT,Y ;ANGESPR
 379             bne ICON3D      ;WERDEN
 380             ldy TALKPERS
 381 ;
 382             ifz CHEATMODE
 383 ;
 384             lda FIXPTLKDT,Y
 385             ora #128
 386             sta FIXPTLKDT,Y
 387 ;
 388             end
 389 ;
 390 ICON3X      lda #0
 391             sta SPELLCTR
 392             ldx TALKSPR
 393             lda SMTYP,X
 394             and #31
 395             tax
 396             lda ENAMEDAT,X
 397             and #3
 398             clc
 399             adc #1
 400             jmp NOTALKPR
 401 ;
 402 ;
 403 ICON3D      lda #0
 404             jsr NPRINT
 405             ldy TALKPERS
 406             lda FIXPTYP,Y
 407             sta TALKSPR
 408             lda FIXPTXTL,Y ;AUSGABE
 409             tax            ;HAUPTTXT
 410             lda FIXPTXTH,Y
 411             tay
 412             jsr PRSTRING
 413             jsr WAITBUTTN
 414 ;
 415             lda #1
 416             sta TALKANZ
 417             lda TALKSPR
 418             bmi ICON3F
 419             lda #FIXPAANZ1-16<
 420             ldy #FIXPAANZ1-16>
 421             sta ZPA         ;WIE
 422             sty ZPA+1       ;GEFRAGT
 423             ldx TALKMEN
 424             ldy TALKPERS
 425             lda FIXPTLKDT,Y
 426             sta A
 427             lda SPELLCTR
 428             beq ICON3EA
 429 ;
 430             lda FIXPAANZ1,Y
 431             and #7
 432             sta B
 433             lda FIXPAANZ2,Y
 434             and #7
 435             sta C
 436             lda FIXPAANZ3,Y
 437             and #7
 438             cmp B
 439             bcs ICON3ED
 440             lda B
 441 ICON3ED     cmp C
 442             bcs ICON3EC
 443             lda C
 444             jmp ICON3EC
 445 ;
 446 ICON3EA     lsr A
 447             bcc ICON3EB
 448             lda ZPA
 449             clc
 450             adc #16
 451             sta ZPA
 452             bcc ICON3EB
 453             inc ZPA+1
 454 ICON3EB     rts
 455             bpl ICON3EA
 456             lda (ZPA),Y
 457             and #7
 458 ICON3EC     sta TALKANZ
 459 ;
 460 ICON3F      lda AHEADTXT
 461             ldy AHEADTXT+1
 462             sta NMENUHPTR
 463             sty NMENUHPTR+1
 464             ldy TALKPERS
 465             lda FIXPQSTL,Y
 466             tax
 467             lda FIXPQSTH,Y
 468             tay
 469             lda #%11000001 ;FRAGEN
 470             sta NMENUFLG   ;AUSGEBEN
 471             lda TALKANZ
 472             jsr NMENU
 473 ;
 474             bpl ICON3FD
 475             jmp ICON3D
 476 ICON3FD     ldy TALKPERS
 477             cmp TALKANZ
 478             bcc ICON3FA
 479             lda TALKSPR
 480             bmi ICON3FC
 481             jmp ICON3AX
 482 ;
 483 ICON3FC     lda FIXPANSL,Y  ;LEAVE
 484             tax            ;HAENDLER
 485             lda FIXPANSH,Y
 486             tay
 487             lda #0
 488             sta SPELLCTR
 489             lda #1
 490             jmp GUPSTRING
 491 ;
 492 ICON3FA     pha
 493             lda #1
 494             jsr NPRINT
 495             lda FIXPANSL,Y
 496             tax
 497             lda FIXPANSH,Y
 498             tay
 499             pla
 500             jsr GUPSTRING
 501             lda TALKSPR
 502             bpl ICON3FB
 503             jmp SHOPEXE
 504 ;
 505 ICON3FB     jsr WAITBUTTN
 506             jmp ICON3F
 507 ;
 508 NOTALKPR    ldx NOTALKTXT
 509             ldy NOTALKTXT+1
 510             jmp GUPSTRING
 511 ;
 512 ;---
 513 ;
 514 ICON4       ldx ICON4TXT
 515             ldy ICON4TXT+1
 516             lda #%00000001
 517             sta NMENUFLG
 518             lda #4
 519             jsr NMENU
 520             cmp #4
 521             bcc ICON4A
 522 ICON4X      dex
 523 ;
 524 ICON4A      sta TALKMEN
 525             cmp #2
 526             bcs ICON4C
 527             ldx ICON4TXT
 528             ldy ICON4TXT+1
 529             jsr GETSTRING
 530             stx NMENUHPTR
 531             sty NMENUHPTR+1
 532             ldy TALKMEN
 533             lda #WAREN<
 534             clc
 535             adc EQUIPLIST,Y
 536             ldx #WAREN>
 537             sta NMENUWPTR
 538             stx NMENUWPTR+1
 539             lda EQUIPLIST+1,Y
 540             sec
 541             sbc EQUIPLIST,Y
 542             sta TALKPERS
 543             lda EQUIPLIST,Y
 544             ldx #EQUIPTEXT<
 545             ldy #EQUIPTEXT>
 546             jsr GETSTRING
 547             lda #%10000100
 548             sta NMENUFLG
 549             lda TALKPERS
 550             jsr NMENU
 551             cmp TALKPERS
 552             bcs ICON4X
 553 ;
 554             ldy TALKMEN
 555             sta MOMWEAPON,Y
 556             bne ICON4B
 557             jmp SETWPNSHP
 558 ICON4B      jmp SETARMSHP
 559 ;
 560 ICON4C      lda #1
 561             jsr NORMTEXT
 562             lda #1
 563             jsr NPRINT
 564             jsr WAITSTICK
 565             beq ICON4CA
 566             dex
 567 ICON4CA     lda TALKMEN
 568             cmp #2
 569             bne ICON4D
 570             ldx MOMWEAPON
 571             cpx #16
 572             bcs ICON4CX
 573             lda #0
 574             sta WAREN,X
 575             lda #19
 576             sta MOMWEAPON
 577             jsr SETWPNSHP
 578 ICON4CX     dex
 579 ICON4D      ldx MOMARMOR
 580             cpx #8
 581             bcs ICON4CX
 582             lda #0
 583             sta WAREN+16,X
 584             lda #9
 585             sta MOMARMOR
 586             jmp SETARMSHP
 587 ;
 588 ;---------------------------------
 589 ;
 590 ICON5       lda #1
 591             ldx ICON5TXT
 592             ldy ICON5TXT+1
 593             jsr GETSTRING
 594             stx NMENUHPTR
 595             sty NMENUHPTR+1
 596             ldx ICON5TXT
 597             ldy ICON5TXT+1
 598             lda #2
 599             jsr GETSTRING
 600             lda #%10000001
 601             sta NMENUFLG
 602             lda #4
 603             jsr NMENU
 604             cmp #4
 605             bcs ICON5X
 606             asl
 607             tax
 608             lda ICON5DAT,X
 609             ldy ICON5DAT+1,X
 610             sta ICON5JMP+1
 611             sty ICON5JMP+2
 612 ICON5JMP    jsr ICON5R0
 613 ICON5X      dex
 614 ;
 615 ICON5DAT    dat ICON5R0,ICON5R1,ICON5R2,ICON5R3
 616 ;
 617 ICON5R0     ldx ICON5TXT
 618             ldy ICON5TXT+1
 619             jsr PRSTRING
 620             ldx GOLD
 621             ldy GOLD+1
 622             clc
 623             jsr BYTEASC
 624             lda #11
 625             jmp NORMTEXT
 626 ;
 627 ICON5R1     lda #16
 628             jsr NORMTEXT
 629             ldx AGE
 630             ldy #0
 631             clc
 632             jsr BYTEASC
 633             lda #17
 634             jsr NORMTEXT
 635             ldx LEVELTXT
 636             ldy LEVELTXT+1
 637             lda LEVEL
 638             jsr GUPSTRING
 639             lda SLAVE
 640             beq ICON5R1A
 641             lda #18
 642             jsr NORMTEXT
 643             ldx SLAVE
 644             ldy #0
 645             clc
 646             jsr BYTEASC
 647 ICON5R1A    lda #9
 648             jsr NORMTEXT
 649             ldx MOMWEAPON
 650             lda DAMAGECTR,X
 651             clc
 652             adc #12
 653             jsr NORMTEXT
 654             lda #10
 655             jsr NORMTEXT
 656             ldx MOMARMOR
 657             lda DAMAGECTR+16,X
 658             clc
 659             adc #12
 660             jmp NORMTEXT
 661 ;
 662 ICON5R2     lda #0
 663             sta FOUNDVAR
 664             lda HUNGERCTR
 665             bmi ICON5R2F
 666             bne ICON5R2A
 667 ICON5R2F    jsr ICON5R2PR
 668             lda #3
 669             jsr STATPRINT
 670 ICON5R2A    lda SLEEPCTR
 671             bpl ICON5R2B
 672             jsr ICON5R2PR
 673             lda #1
 674             jsr STATPRINT
 675 ICON5R2B    lda CURSES
 676             beq ICON5R2C
 677             jsr ICON5R2PR
 678             lda #7
 679             jsr STATPRINT
 680 ICON5R2C    lda SICKPTR
 681             beq ICON5R2D
 682             jsr ICON5R2PR
 683             lda #5
 684             jmp STATPRINT
 685 ICON5R2D    lda RESISTCTR
 686             cmp #10
 687             bcs ICON5R2E
 688             jsr ICON5R2PR
 689             lda #1
 690             bne ICON5R2G
 691 ICON5R2E    lda FOUNDVAR
 692             bne ICON5R2X
 693             lda #2
 694 ICON5R2G    jsr ICN5R2PRA
 695 ICON5R2X    dex
 696 ;
 697 ICON5R2PR   lda FOUNDVAR
 698             beq ICN5R2PRX
 699             lda #0
 700 ICN5R2PRA   ldx ICN5R2TXT
 701             ldy ICN5R2TXT+1
 702             jsr GUPSTRING
 703 ICN5R2PRX   inc FOUNDVAR
 704             dex
 705 ;
 706 ICON5R3     lda #5
 707             ldx ICON5TXT
 708             ldy ICON5TXT+1
 709             jsr GETSTRING
 710             stx NMENUHPTR
 711             sty NMENUHPTR+1
 712             lda #TOOLS<
 713             ldx #TOOLS>
 714             sta NMENUWPTR
 715             stx NMENUWPTR+1
 716             sta NMENUNPTR
 717             stx NMENUNPTR+1
 718             lda #43
 719             ldx #EQUIPTEXT<
 720             ldy #EQUIPTEXT>
 721             jsr GETSTRING
 722             lda #%10011100
 723             sta NMENUFLG
 724             lda #6
 725             jmp NLIST
 726 ;
 727 ;---------------------------------
 728 ;
 729 ICON6       dec INCENSE
 730             lda #MEDISHP
 731             sta V1+27
 732             lda MAPFLG
 733             beq ICON6B
 734             jsr NEARSPR
 735             txa
 736             bne ICON6A
 737             jmp ICON6PR
 738 ICON6A      sta TALKSPR
 739             lda SMTYP,X
 740             and #31
 741             cmp #BUDDHA
 742             beq ICON6AA
 743 ICON6AB     lda #0
 744             jmp ICON6PR
 745 ICON6AA     jmp ICON3IN
 746 ;
 747 ;
 748 ICON6B      jsr ICON6C
 749             bcc ICON6BIN
 750             dex
 751 ICON6BIN    jsr SEARCHEXE
 752             cmp #2
 753             bne ICON6AB
 754 ICON6BA     stx FOUNDVAR
 755             lda MOUNTAINS
 756             and ZWEIERPOT,X
 757             bne ICON6BXB
 758             txa
 759             asl
 760             asl
 761             tax
 762             ldy #0
 763 ICON6BB     lda ICON6BDAT,X
 764             cmp TAG,Y
 765             bne ICON6BXA
 766             inx
 767             iny
 768             cpy #4
 769             bcc ICON6BB
 770 ;
 771             ldx FOUNDVAR
 772             lda MOUNTAINS
 773             ora ZWEIERPOT,X
 774             sta MOUNTAINS
 775             lda #2
 776             dat $2C
 777 ICON6BXA    lda #1
 778             dat $2C
 779 ICON6BXB    lda #3
 780 ;
 781 ICON6PR     ldx ICON6TXT
 782             ldy ICON6TXT+1
 783             jmp GUPSTRING
 784 ;
 785 ;MONAT UND TAG MINUS 1
 786 ICON6BDAT   dat 23,11,560
 787             dat 6,6,777
 788             dat 7,3,635
 789             dat 24,4,538
 790             dat 0,0,512
 791             dat 30,11,682
 792 ;
 793 ;
 794 ICON6C      lda ENDFLG
 795             beq ICON6CA
 796             jsr ICON6BXB
 797             sec
 798             dex
 799 ICON6CA     lda ARTEFAKTS+1
 800             and #%00000010
 801             beq ICON6CX
 802             lda MOUNTAINS
 803             and #63
 804             cmp #63
 805             bne ICON6CX
 806             jsr MAPPOS
 807             ldx #3
 808 ICON6CB     lda PLRPOSX,X
 809             cmp I6CEXEDAT,X
 810             bne ICON6CX
 811             rts
 812             bpl ICON6CB
 813             jsr ICON6CEXE
 814             sec
 815             dex
 816 ICON6CX     clc
 817             dex
 818 ;
 819 ;
 820 ICON6CEXE   lda #1
 821             ldx ENDTXT
 822             ldy ENDTXT+1
 823             jsr GUPSTRING
 824             jsr WAITSTICK
 825             lda #1
 826             sta ENDFLG
 827             jsr GETMAP
 828             jmp MAPONSCR
 829 ;
 830 I6CEXEDAT   dat 584,1014
 831 ;
 832 ;---------------------------------
 833 ;
 834 ICON7       ldx ICON7TXT
 835             ldy ICON7TXT+1
 836             lda #%00000001
 837             sta NMENUFLG
 838 ;
 839             lda CHEATCTR
 840             cmp #3
 841             bne ICON7B
 842             lda #9
 843             dat $2C
 844 ICON7B      lda #3
 845 ;
 846             jsr NMENU
 847 ;
 848             ldx CHEATCTR
 849             cpx #3
 850             bne ICON7C
 851             cmp #9
 852             bcc ICON7A
 853 ICON7C      cmp #3
 854             bcc ICON7A
 855             dex
 856 ;
 857 ICON7A      cmp #2
 858             beq PAUSEGAME
 859             cmp #1
 860             beq QUITGAME
 861 ;
 862             cmp #3
 863             bcs CHEATS
 864 ;
 865             jmp SAVEGAME
 866 ;
 867 ;
 868 QUITGAME    jsr WOLLEN
 869             beq QGAMEEXE
 870             lda #0
 871             jmp NPRINT
 872 ;
 873 QGAMEEXE    lda #255
 874             sta NTRACK
 875             jsr NTALK
 876             sei
 877             lda #$37
 878             sta 1
 879             jmp 64738
 880 ;
 881 ;
 882 PAUSEGAME   ldx #0
 883             stx ENEMYFLG
 884             rts
 885             stx ZSANIFLG
 886             lda CIA2+11
 887             ldx CIA2+8
 888             sta CIA2+11
 889             ldx PAUSETXT
 890             ldy PAUSETXT+1
 891             jsr PRSTRING
 892             jsr WAITSTICK
 893             lda #0
 894             sta ZSANIFLG
 895             sta CIA2+8
 896             inc ENEMYFLG
 897             jmp NPRINT
 898 ;
 899 ;
 900 ;
 901 ;
 902 CHEATS      sbc #3
 903             asl
 904             tax
 905             lda CHEATDAT,X
 906             sta ZPA
 907             lda CHEATDAT+1,X
 908             sta ZPA+1
 909             jmp (ZPA)
 910 ;
 911 CHEATDAT    dat CHEAT0,CHEAT1,CHEAT2,CHEAT3,CHEAT4,CHEAT5
 912 ;
 913 CHEAT0      lda SHADEFL
 914             eor #128
 915             sta SHADEFL
 916             jmp MAPONSCR
 917 ;
 918 CHEAT1      ldx #CHEAT1DTC<
 919             ldy #CHEAT1DTC>
 920             lda #%00000001
 921             sta NMENUFLG
 922             lda #2
 923             jsr NMENU
 924             beq CHEAT1CD
 925             cmp #1
 926             beq CHEAT1CA
 927             dex
 928 ;
 929 CHEAT1CD    ldx #CHEAT1DTD<
 930             ldy #CHEAT1DTD>
 931             jsr PRSTRING
 932             lda #11
 933             ldx #39<
 934             ldy #39>
 935             jsr NINPUT
 936             stx CITYNR
 937             ldx #CHEAT1DTE<
 938             ldy #CHEAT1DTE>
 939             lda #%00000001
 940             sta NMENUFLG
 941             lda #2
 942             jsr NMENU
 943             beq CHEAT1CE
 944             lda MAPFLG
 945             bne CHEAT1CE
 946             lda CITYNR
 947             asl
 948             asl
 949             tax
 950             ldy #0
 951 CHEAT1CB    lda CPOSRAM,X
 952             sta PLRPOSX,Y
 953             inx
 954             iny
 955             cpy #4
 956             bcc CHEAT1CB
 957             jmp CHEAT1CC
 958 ;
 959 CHEAT1CE    ldx CITYNR
 960             jmp CITYLOAD
 961 ;
 962 CHEAT1CA    ldx #CHEAT1DTA<
 963             ldy #CHEAT1DTA>
 964             jsr PRSTRING
 965             lda #15
 966             ldx #639<
 967             ldy #639>
 968             jsr NINPUT
 969             stx PLRPOSX
 970             sty PLRPOSX+1
 971             ldx #CHEAT1DTB<
 972             ldy #CHEAT1DTB>
 973             jsr PRSTRING
 974             lda #15
 975             ldx #1023<
 976             ldy #1023>
 977             jsr NINPUT
 978             stx PLRPOSY
 979             sty PLRPOSY+1
 980 CHEAT1CC    lda ENEMYFLG
 981             pha
 982             jsr ESTOP
 983             jsr GETMAP
 984             pla
 985             sta ENEMYFLG
 986             jmp MAPONSCR
 987 ;
 988 CHEAT1DTA   dat 78,78,151
 989 CHEAT1DTB   dat 78,150
 990 CHEAT1DTC   dat 28,27,14,11,155
 991             dat 23,150
 992 CHEAT1DTD   dat 79,1,29,239
 993 CHEAT1DTE   dat 141
 994             dat 1 141
 995 ;
 996 CHEAT2      jsr MAPPOS
 997             ldx #CHEAT1DTA<
 998             ldy #CHEAT1DTA>
 999             jsr PRSTRING
1000             lda #15
1001             sta NPSPALTE
1002             ldx PLRPOSX
1003             ldy PLRPOSX+1
1004             sec
1005             jsr BYTEASC
1006             ldx #CHEAT1DTB<
1007             ldy #CHEAT1DTB>
1008             jsr PRSTRING
1009             lda #15
1010             sta NPSPALTE
1011             ldx PLRPOSY
1012             ldy PLRPOSY+1
1013             sec
1014             jmp BYTEASC
1015 ;
1016 CHEAT3      lda PLKOLLFL
1017             eor #1
1018             sta PLKOLLFL
1019             dex
1020 ;
1021 CHEAT4      lda ENEMYFLG
1022             beq CHEAT4A
1023             jmp ESTOP
1024 CHEAT4A     lda #1
1025             sta ENEMYFLG
1026             dex
1027 ;
1028 ;
1029 CHEAT5      ldx #CHEAT5DTA<
1030             ldy #CHEAT5DTA>
1031             jsr PRSTRING
1032             ldx #255
1033             ldy #255
1034             lda #9
1035             jsr NINPUT
1036             stx ZPD
1037             sty ZPD+1
1038             ldx #CHEAT5DTB<
1039             ldy #CHEAT5DTB>
1040             jsr PRSTRING
1041             ldx #255
1042             ldy #0
1043             lda #9
1044             jsr NINPUT
1045             txa
1046             ldy #0
1047             sta (ZPD),Y
1048             dex
1049 ;
1050 ;
1051 CHEAT5DTA   dat 79,142
1052 CHEAT5DTB   dat 78,152
1053 ;
1054 ;
1055 ;
1056 ;---
1057 ;
1058 ICON8       lda ICON8TXT
1059             ldy ICON8TXT+1
1060             sta NMENUHPTR
1061             sty NMENUHPTR+1
1062             lda SPELLS
1063             ldy SPELLS+1
1064             sta NMENUWPTR
1065             sty NMENUWPTR+1
1066             ldx SPELLIST
1067             ldy SPELLIST+1
1068             lda #%10000010
1069             sta NMENUFLG
1070             lda #10
1071             jsr NMENU
1072             cmp #10
1073             bcs ICON8X
1074 ;
1075             sta MOMSPELL
1076             jsr SPELLCOPY
1077             lda #1
1078             ldx ICON8TXT
1079             ldy ICON8TXT+1
1080             jsr GUPSTRING
1081             lda MOMSPELL
1082             ldx SPELLIST
1083             ldy SPELLIST+1
1084             jsr GUPSTRING
1085             lda #2
1086             ldx ICON8TXT
1087             ldy ICON8TXT+1
1088             jsr GUPSTRING
1089 ICON8X      dex
1090 ;
1091 ;---
1092 ;
1093 ICON9       ldx MOMSPELL
1094             bmi ICON8X
1095             lda ICON9DAT,X
1096             bmi ICON9A
1097             ldx #4
1098             sec
1099             jsr CALCABI
1100             bcc ICON9A
1101 ICON9IN     ldx ICON9TXT
1102             ldy ICON9TXT+1
1103             jmp PRSTRING
1104 ICON9A      lda MOMSPELL
1105             asl
1106             tay
1107             lda ICON9JDAT,Y
1108             sta ICON9JMP+1
1109             lda ICON9JDAT+1,Y
1110             sta ICON9JMP+2
1111             cpy #4
1112             beq ICON9B
1113             cpy #2
1114             beq ICON9B
1115             lda #5
1116             jsr SETVOICE1
1117 ICON9B      lda STYP
1118             bpl ICON9B
1119 ICON9JMP    jmp SPELL0
1120 ;
1121 ICON9DAT    dat 10,255,255,10,5,255,2,15,5,10
1122 ;
1123 ICON9JDAT   dat SPELL0,SPELL1,SPELL2,SPELL3,SPELL4
1124             dat SPELL5,SPELL6,SPELL7,SPELL8,SPELL9
1125 ;
1126 ;
1127 SPELL0      lda MAPFLG     ;CHARM
1128             bne SPELL0A
1129             jmp NORMTEXT
1130 SPELL0A     dec CHARMFLG
1131             dec SPELLCTR
1132             jmp ICON3
1133 ;
1134 ;
1135 SPELL1      ldx TIMETXT    ;TIME
1136             ldy TIMETXT+1
1137             jsr PRSTRING
1138             ldx MOMWIT
1139             ldy #0
1140             lda #8
1141             jsr NINPUT
1142             txa
1143             beq SPELL1X
1144             clc
1145             adc STUNDE
1146             sta STUNDE
1147             ldx #4
1148             sec
1149             jsr CALCABI
1150             dec SPELLCTR+1
1151             lda #5
1152             jmp SETVOICE1
1153             lda #3
1154             jmp TIMESETPR
1155 SPELL1X     dex
1156 ;
1157 ;
1158 SPELL2      lda SPELL2TXT  ;CHARGE
1159             ldy SPELL2TXT+1
1160             sta NMENUHPTR
1161             sty NMENUHPTR+1
1162             lda ARTEFAKTS
1163             ldy ARTEFAKTS+1
1164             sta NMENUWPTR
1165             sta NMENUWPTR+1
1166             lda #%10000010
1167             sta NMENUFLG
1168             ldx ARTEFLIST
1169             ldy ARTEFLIST+1
1170             lda #4
1171             jsr NMENU
1172             cmp #4
1173             bcs SPELL2X
1174             pha
1175             tax
1176             lda SPELL2DAT,X
1177             ldx #4
1178             sec
1179             jsr CALCABI
1180             pla
1181             tax
1182             bcc SPELL2A
1183             jmp ICON9IN
1184 SPELL2A     lda ARTEFCTR,X
1185             cmp #5
1186             bcs SPELL2X
1187             inc ARTEFCTR,X
1188 SPELL2X     lda #5
1189             jmp SETVOICE1
1190 ;
1191 SPELL2DAT   dat 10,30,4,10
1192 ;
1193 ;
1194 SPELL3      dec SPELLCTR+3 ;SHIELD
1195             lda V2
1196             ora #8
1197             sta V2
1198 SPELL3X     lda #0
1199             sta MINUTE
1200             dex
1201 ;
1202 ;
1203 SPELL4      ldx #0     ;HEAL
1204 SPELL4A     lda RANDOM
1205             and #7
1206             adc #4
1207             jsr CALCABI
1208             inx
1209             cpx #4
1210             bcc SPELL4A
1211             dex
1212 ;
1213 ;
1214 SPELL5      jsr RIGHTPOS   ;PASS
1215             bcc SPELL5B
1216 SPELL5C     lda #0
1217             jmp NORMTEXT
1218 SPELL5B     ldx PLRDIR
1219             jsr PLPOSIT
1220             ldy #0
1221             lda (ZPA),Y
1222             and #63
1223             pha
1224             tax
1225             lda ZSCASTDAT,X
1226             ldx #4
1227             sec
1228             jsr CALCABI
1229             pla
1230             bcc SPELL5A
1231             ldx ICON9TXT
1232             ldy ICON9TXT+1
1233             jmp PRSTRING
1234 SPELL5A     sta FREECHR
1235             lda #4
1236             sta FREECTR
1237             dex
1238 ;
1239 ;
1240 SPELL6      lda ATTACKFLG  ;TURN
1241             ora MAPFLG
1242             bne SPELL5C
1243             ldx #3
1244 SPELL6A     lda SMTYP,X
1245             eor #64
1246             sta SMTYP,X
1247             rts
1248             bne SPELL6A
1249 SPELL6X     dex
1250 ;
1251 ;
1252 SPELL7      lda MAPFLG   ;M MIRROR
1253             bne SPELL5C
1254             lda V1+2
1255             and #%11101111
1256             sta V1+2
1257             lda V1+1
1258             and #%11101111
1259             sta V1+1
1260             lda V1+19
1261             sta V1+23
1262             lda V1+4
1263             sta V1+12
1264             lda V1+3
1265             sta V1+11
1266             lda V1+1
1267             lsr
1268             bcc SPELL7A
1269             lda V1+1
1270             ora #16
1271             sta V1+1
1272 SPELL7A     lda V1+27
1273             sta V1+31
1274             lda MAPCX128
1275             lsr
1276             sta SMXPOS+4
1277             lda MAPCY128
1278             lsr
1279             sta SMYPOS+4
1280             lda SMCOL
1281             sta SMCOL+4
1282             lda #127
1283             sta SMTYP+4
1284             sta SMFIXPERS+4
1285             lda #6
1286             sta SMJOBPTR+4
1287             lda #4
1288             sta MIRRORFLG
1289             lda V1
1290             ora #16
1291             sta V1
1292             jmp SPELL3X
1293 ;
1294 ;
1295 SPELL8      lda #1      ;FEAR
1296             sta FEARFLG
1297             jmp SPELL3X
1298 ;
1299 ;
1300 SPELL9      lda MAPFLG  ;LEAVE
1301             beq SPELL9A
1302             lda CITYNR
1303             cmp #38
1304             bne SPELL9B
1305             lda #0
1306 SPELL9A     jmp NORMTEXT
1307 ;
1308 SPELL9B     ldx SPELL9TXT
1309             ldy SPELL9TXT+1
1310             jsr PRSTRING
1311             ldx #CITYNAME<
1312             ldy #CITYNAME>
1313             jsr PRSTRING
1314 SPELL9C     jsr MAPLOAD
1315             bcs SPELL9C
1316             dex
1317 ;
1318 ;---
1319 ;
1320 ICON10      lda #WASSER
1321             sta FREECHR
1322             lda #255
1323             sta FREECTR
1324             dex
1325 ;
1326 ;---
1327 ;
1328 ICON11      lda ARTEFCTR+7
1329             bne ICON11I
1330             jmp ICON16PR
1331 ICON11I     dec ARTEFCTR+7
1332             lda #1
1333             jsr ICN16R3PR
1334             ldx #0
1335 ICON11A     stx NMENUZEI
1336 ;
1337             lda #3
1338             sta A
1339 ICON11B     ldy #15
1340             ldx #10
1341             jsr RANDOMIZE
1342             ldx A
1343             sta BTESTRDTC,X
1344             dec A
1345             bpl ICON11B
1346             lda #0
1347             sta NMENUANZ
1348             sta NMENULCTR
1349             ldx #20
1350 ICON11BA    lda VRAM3+DPOS,X
1351             sta VRAM3+DPOS-40,X
1352             rts
1353             bpl ICON11BA
1354 ;
1355 ICON11C     lda NMENULCTR
1356             sta NPSPALTE
1357             ldx NMENUANZ
1358             lda BTESTRDTC,X
1359             jsr ICON11PR
1360 ICON11D     lda #2
1361             jsr LTIMER
1362             jsr WAITSTICK
1363             beq ICON11E
1364             cpx #2
1365             bcs ICON11D
1366             jsr ICON11EXE
1367             jmp ICON11C
1368 ;
1369 ICON11E     lda NPSPALTE
1370             sta NMENULCTR
1371             inc NMENUANZ
1372             lda NMENUANZ
1373             cmp #4
1374             bcc ICON11C
1375             lda #0
1376             sta A
1377             sta B
1378             ldx #3
1379 ICON11EA    ldy BTESTRDTC,X
1380             beq ICON11EC
1381 ICON11EB    lda A
1382             clc
1383             adc ICON11DTA,X
1384             sta A
1385             lda B
1386             adc ICON11DTB,X
1387             sta B
1388             dey
1389             bne ICON11EB
1390 ICON11EC    rts
1391             bpl ICON11EA
1392             ldx NMENUZEI
1393             lda A
1394             sta PLRPOSX,X
1395             lda B
1396             sta PLRPOSX+1,X
1397             inx
1398             inx
1399             cpx #2
1400             bne ICON11J
1401             jmp ICON11A
1402 ;
1403 ICON11J     lda PLRPOSX+1
1404             cmp #640>
1405             bcc ICON11F
1406             bne ICON11H
1407             lda PLRPOSX
1408             cmp #640<
1409             bcc ICON11F
1410 ICON11H     lda #0
1411             sta PLRPOSX+1
1412 ICON11F     lda PLRPOSY+1
1413             cmp #1024>
1414             bcc ICON11G
1415             lda #0
1416             sta PLRPOSY+1
1417 ;
1418 ICON11G     jsr WOLLEN
1419             bne ICON11X
1420             lda #12
1421             jsr SETVOICE1
1422             lda #0
1423             sta ENEMYFLG
1424             jsr GETMAP
1425             jsr ESTOP
1426             inc ENEMYFLG
1427             jsr MAPONSCR
1428 ICON11X     lda #0
1429             jmp NPRINT
1430 ;
1431 ICON11EXE   txa
1432             beq ICN11EXAD
1433             ldx NMENUANZ
1434             dec BTESTRDTC,X
1435             bpl ICN11EXEX
1436             lda #9
1437             sta BTESTRDTC,X
1438 ICN11EXEX   dex
1439 ICN11EXAD   ldx NMENUANZ
1440             inc BTESTRDTC,X
1441             lda BTESTRDTC,X
1442             cmp #10
1443             bcc ICN11EXEX
1444             lda #0
1445             sta BTESTRDTC,X
1446             dex
1447 ;
1448 ICON11PR    ldx ZAHLTXT
1449             ldy ZAHLTXT+1
1450 ICN11PRIN   jsr GUPSTRING
1451             lda NPSPALTE
1452             pha
1453 ICON11PRA   lda NPSPALTE
1454             cmp #20
1455             bcs ICON11PRX
1456             lda #' '
1457             jsr NPRINT
1458             bne ICON11PRA
1459 ICON11PRX   pla
1460             sta NPSPALTE
1461             dex
1462 ;
1463 ICON11DTA   dat 1000<,100,10,1
1464 ICON11DTB   dat 1000>,0,0,0
1465 ;
1466 ;---
1467 ;
1468 ICON12      lda #24
1469             sta ENDUPTR
1470 ICON12E     lda #1
1471             ldx HUNGERTXT
1472             ldy HUNGERTXT+1
1473             jsr GETSTRING
1474             stx NMENUHPTR
1475             sty NMENUHPTR+1
1476             lda #FOOD<
1477             ldx #FOOD>
1478             sta NMENUWPTR
1479             stx NMENUWPTR+1
1480             sta NMENUNPTR
1481             stx NMENUNPTR+1
1482             lda #24
1483             ldx #EQUIPTEXT<
1484             ldy #EQUIPTEXT>
1485             jsr GETSTRING
1486             lda #%10010100
1487             sta NMENUFLG
1488             lda #6
1489             jsr NMENU
1490             cmp #6
1491             bcs ICON12X
1492             sta FOUNDVAR
1493             lda #2
1494             jsr ICON12PR
1495             ldy FOUNDVAR
1496             ldx FOOD,Y
1497             cpx #10
1498             bcc ICON12G
1499             ldx #9
1500 ICON12G     ldy #0
1501             lda #11
1502             jsr NINPUT
1503             txa
1504             beq ICON12E
1505             stx A
1506             ldx FOUNDVAR
1507             lda FOOD,X
1508             sec
1509             sbc A
1510             sta FOOD,X
1511             ldy A
1512             lda ICON12DAT,X
1513             jsr MULT8BIT
1514             ldx HUNGERCTR
1515             bpl ICON12A
1516             ldx #0
1517             stx HUNGERCTR
1518 ICON12A     ldx ENDURANCE
1519             beq ICON12F
1520             asl
1521 ICON12F     clc
1522             adc HUNGERCTR
1523             cmp ENDUPTR
1524             bcc ICON12B
1525             lda ENDUPTR
1526             sta HUNGERCTR
1527             lda #0
1528             jsr NPRINT
1529             lda #4
1530             jmp STATPRINT
1531 ;
1532 ICON12B     sta HUNGERCTR
1533             lda #0
1534             jsr ICON12PR
1535 ICON12C     jsr WAITBUTTN
1536             jmp ICON12E
1537 ICON12X     dex
1538 ;
1539 ICON12PR    ldx HUNGERTXT
1540             ldy HUNGERTXT+1
1541             jmp GUPSTRING
1542 ;
1543 ICON12DAT   dat 1,2,4,6,8,12
1544 ;
1545 ;---
1546 ;
1547 ICON13      inc INFRAFLG
1548             lda MCA
1549             pha
1550             lda MCB
1551             pha
1552             ldx #7
1553 ICON13A     lda #0
1554             sta V1+19,X
1555             rts
1556             bpl ICON13A
1557             sta SMCOL
1558             sta MCA
1559             lda #2
1560             sta MCB
1561             lda #3
1562             jsr LTIMER
1563             jsr WAITSTICK
1564             pla
1565             sta MCB
1566             pla
1567             sta MCA
1568             lda #0
1569             sta INFRAFLG
1570             lda SHAPE
1571             beq ICON13B
1572             lda #9
1573             sta V1+19
1574             dex
1575 ICON13B     jmp SETARMSHP
1576 ;
1577 ;
1578 ;---
1579 ;
1580 ICON14      jsr RIGHTPOS
1581             bcc ICON14B
1582             lda #0
1583             jmp NORMTEXT
1584 ICON14B     jsr RAMPOS
1585             ldy #0
1586             lda (ZPA),Y
1587             and #63
1588             cmp #GOLDSACK
1589             beq ICON14A
1590             lda #0
1591             jmp ICON14PR
1592 ;
1593 ICON14A     lda #4
1594             jsr SETVOICE1
1595             lda #GOLDSWZ
1596             sta (ZPA),Y
1597             jsr MAPONSCR
1598             lda #1
1599             jsr ICON14PR
1600             lda RANDOM
1601             and #63
1602             adc #10
1603             pha
1604             ldx #0
1605             jsr GOLDZU
1606             pla
1607             tax
1608             ldy #0
1609             clc
1610             jsr BYTEASC
1611             lda #11
1612             jmp NORMTEXT
1613 ;
1614 ICON14PR    ldx ICON14TXT
1615             ldy ICON14TXT+1
1616             jmp GUPSTRING
1617 ;
1618 ;---
1619 ;
1620 ICON15      lda #0      ;TIME
1621             jsr ICON15A
1622             ldx STUNDE
1623             ldy #0
1624             clc
1625             jsr BYTEASC
1626             lda #1
1627             jsr ICON15A
1628             lda MONAT
1629             ldx ICN15BTXT
1630             ldy ICN15BTXT+1
1631             jsr GUPSTRING
1632             lda #1
1633             jsr NPRINT
1634             lda #2
1635             jsr ICON15A
1636             ldx TAG
1637             inx
1638             ldy #0
1639             clc
1640             jsr BYTEASC
1641             lda #3
1642             jsr ICON15A
1643             ldx JAHR
1644             ldy JAHR+1
1645             clc
1646             jmp BYTEASC
1647 ;
1648 ICON15A     ldx ICN15ATXT
1649             ldy ICN15ATXT+1
1650             jsr GUPSTRING
1651             dex
1652 ;
1653 ;---
1654 ;
1655 ICON16      lda ICON16TXT
1656             ldy ICON16TXT+1
1657             sta NMENUHPTR
1658             sty NMENUHPTR+1
1659             lda ARTEFAKTS
1660             ldy ARTEFAKTS+1
1661             sta NMENUWPTR
1662             sta NMENUWPTR+1
1663             lda #%10000010
1664             sta NMENUFLG
1665             ldx ARTEFLIST
1666             ldy ARTEFLIST+1
1667             lda #4
1668             jsr NMENU
1669             cmp #4
1670             bcs ICON16X
1671             tax
1672             asl
1673             tay
1674             lda ARTEFCTR,X
1675             beq ICON16PR
1676             dec ARTEFCTR,X
1677             lda ICON16DAT,Y
1678             sta ICON16JMP+1
1679             lda ICON16DAT+1,Y
1680             sta ICON16JMP+2
1681 ICON16JMP   jsr ICON16R0
1682 ICON16X     dex
1683 ;
1684 ICON16PR    ldx ICON16TXT
1685             ldy ICON16TXT+1
1686             lda #1
1687             jmp GUPSTRING
1688 ;
1689 ICON16DAT   dat ICON16R0,ICON16R1,ICON16R2,ICON16R3
1690 ;
1691 ICON16R0    lda #255
1692             sta SHADEFL
1693             jsr MAPONSCR
1694             jsr WAITSTICK
1695             inc SHADEFL
1696             jsr MAPONSCR
1697 ICON16R0X   dex
1698 ;
1699 ICON16R1    lda #11
1700             jsr SETVOICE1
1701             jsr ESTOP
1702             inc ENEMYFLG
1703             dex
1704 ;
1705 ;
1706 ICON16R2    lda #13
1707             jsr SETVOICE1
1708             lda NEXTVRAM
1709             cmp #SHOPRAM>
1710             beq ICON16R2A
1711             jsr MAPONSCR
1712 ICON16R2A   lda MAPFLG
1713             beq ICON16R2D
1714             lda #4
1715             jmp ICN16R2PR
1716 ;
1717 ICON16R2D   lda #5
1718             jsr ICN16R2PR
1719             jsr MAPPOS
1720             ldx #0
1721             ldy #0
1722 ICON16R2E   lda #255
1723             sta KRAMP,Y
1724             sta KRAMP+1,Y
1725             lda PLRPOSX
1726             sec
1727             sbc CPOSRAM,X
1728             sta KRAMX,Y
1729             lda PLRPOSX+1
1730             sbc CPOSRAM+1,X
1731             bcc ICON16R2F
1732             sta KRAMX+1,Y
1733             bne ICN16R2FB
1734             lda KRAMX,Y
1735             beq ICN16R2FA
1736 ICN16R2FB   lda #3
1737             sta KRAMP,Y
1738             bne ICN16R2FA
1739 ICON16R2F   eor #255
1740             pha
1741             lda #2
1742             sta KRAMP,Y
1743             lda KRAMX,Y
1744             eor #255
1745             clc
1746             adc #1
1747             sta KRAMX,Y
1748             pla
1749             adc #0
1750             sta KRAMX+1,Y
1751 ;
1752 ICN16R2FA   lda PLRPOSY
1753             sec
1754             sbc CPOSRAM+2,X
1755             sta KRAMY,Y
1756             lda PLRPOSY+1
1757             sbc CPOSRAM+3,X
1758             bcc ICON16R2G
1759             sta KRAMY+1,Y
1760             bne ICN16R2GB
1761             lda KRAMY,Y
1762             beq ICN16R2GA
1763 ICN16R2GB   lda #0
1764             sta KRAMP+1,Y
1765             beq ICN16R2GA
1766 ICON16R2G   eor #255
1767             pha
1768             lda #1
1769             sta KRAMP+1,Y
1770             lda KRAMY,Y
1771             eor #255
1772             clc
1773             adc #1
1774             sta KRAMY,Y
1775             pla
1776             adc #0
1777             sta KRAMY+1,Y
1778 ICN16R2GA   lda KRAMX,Y
1779             clc
1780             adc KRAMY,Y
1781             sta KRAMX,Y
1782             lda KRAMX+1,Y
1783             adc KRAMY+1,Y
1784             sta KRAMX+1,Y
1785             inx
1786             inx
1787             inx
1788             inx
1789             iny
1790             iny
1791             cpy #80
1792             bcs ICON16R2K
1793             jmp ICON16R2E
1794 ;
1795 ICON16R2K   ldx #255
1796             stx A
1797             stx B
1798             inx
1799 ICON16R2H   lda KRAMX+1,X
1800             cmp B
1801             bcc ICON16R2J
1802             bne ICON16R2I
1803             lda KRAMX,X
1804             cmp A
1805             bcs ICON16R2I
1806 ICON16R2J   lda KRAMX,X
1807             sta A
1808             lda KRAMX+1,X
1809             sta B
1810             stx C
1811 ICON16R2I   inx
1812             inx
1813             cpx #80
1814             bcc ICON16R2H
1815 ;
1816             ldy C
1817             lda KRAMP,Y
1818             pha
1819             lda KRAMP+1,Y
1820             bmi ICON16R2L
1821             jsr ICN16R2PR
1822 ICON16R2L   pla
1823             bmi ICON16R2X
1824             jsr ICN16R2PR
1825 ICON16R2X   dex
1826 ;
1827 ICN16R2PR   ldx I16R2TXT
1828             ldy I16R2TXT+1
1829             jmp GUPSTRING
1830 ;
1831 ;
1832 ICON16R3    lda #0
1833             jsr ICN16R3PR
1834             lda MAPFLG
1835             beq ICON16R3A
1836             lda #6
1837             jsr STATPRINT
1838             ldx #CITYNAME<
1839             ldy #CITYNAME>
1840             jmp PRSTRING
1841 ICON16R3A   lda #1
1842             jsr NPRINT
1843             jsr MAPPOS
1844             ldx PLRPOSX
1845             ldy PLRPOSX+1
1846             jsr BYTEWORT
1847             lda #1
1848             jsr NPRINT
1849             ldx PLRPOSY
1850             ldy PLRPOSY+1
1851             jmp BYTEWORT
1852 ;
1853 ICN16R3PR   ldx TELEPTXT
1854             ldy TELEPTXT+1
1855             jmp GUPSTRING
1856 ;
1857 ;---
1858 ;
1859 ICON17      lda #0
1860             jsr ICON17PR
1861             jsr SEARCHEXE
1862             stx FOUNDVAR
1863             cmp #3
1864             beq ICON17A
1865             cmp #4
1866             beq ICON17B
1867             cmp #8
1868             bne ICON17Y
1869             jmp ICON17C
1870 ICON17Y     cmp #9
1871             bne ICON17X
1872             jmp ICON17D
1873 ICON17X     lda #1
1874             jmp ICON17PR
1875 ;
1876 ICON17A     cpx #4
1877             bne ICON17AC
1878             jmp TIMESET
1879 ICON17AC    lda ARTEFAKTS
1880             ldy ARTEFAKTS+1
1881             jsr ICON17EX
1882             bcc ICON17AB
1883             ldy FOUNDVAR
1884             cpy #9
1885             bcc ICON17X
1886 ICON17AB    ora ARTEFAKTS
1887             sta ARTEFAKTS
1888             lda A
1889             ora ARTEFAKTS+1
1890             sta ARTEFAKTS+1
1891             lda #2
1892             jsr ICON17PR
1893             lda FOUNDVAR
1894             ldx ARTEFLIST
1895             ldy ARTEFLIST+1
1896             jsr GUPSTRING
1897             lda FOUNDVAR
1898             cmp #9
1899             beq ICON17AA
1900             dex
1901 ICON17AA    inc FOUNDVAR
1902             bne ICON17BIN
1903 ;
1904 ICON17B     lda ARTEFAKTS+1
1905             lsr
1906             bcc ICON17BA
1907             lda SPELLS
1908             ldy SPELLS+1
1909             jsr ICON17EX
1910             bcs ICON17X
1911             ora SPELLS
1912             sta SPELLS
1913             lda A
1914             ora SPELLS+1
1915             sta SPELLS+1
1916             lda #3
1917             jsr ICON17PR
1918             lda FOUNDVAR
1919             ldx SPELLIST
1920             ldy SPELLIST+1
1921             jsr GUPSTRING
1922 ICON17BIN   ldx FOUNDVAR
1923             lda ICON17DTA,X
1924             sta NTRACK
1925             lda ICON17DTB,X
1926             sta NSECTOR
1927             lda #1
1928             ldy NEXTVRAM
1929             ldx #0
1930             jsr NLOAD
1931             lda FSPELLTXT
1932             ldy FSPELLTXT+1
1933             sta NMENUHPTR
1934             sty NMENUHPTR+1
1935             lda #%10001001
1936             sta NMENUFLG
1937             lda #12
1938             ldx #0
1939             ldy NEXTVRAM
1940             jsr NMENU
1941             jsr MAPONSCR
1942             lda FOUNDVAR
1943             cmp #10
1944             beq ICON17BX
1945             lda #1
1946             dat $2C
1947 ICON17BA    lda #2
1948             ldx FSPELLTXT
1949             ldy FSPELLTXT+1
1950             jsr GUPSTRING
1951 ICON17BX    dex
1952 ;
1953 ICON17C     lda #4
1954             jsr ICON17PR
1955             ldx #CITYNAME<
1956             ldy #CITYNAME>
1957             jsr PRSTRING
1958             jsr WAITBUTTN
1959             sei
1960             lda #PSEUDOIRQ<
1961             ldy #PSEUDOIRQ>
1962             sta $FFFE
1963             sty $FFFF
1964             cli
1965             lda #%00001111
1966             sta V+17
1967 ;
1968             lda #0
1969             ldy #ZSRAM1>+4
1970             ldx #VRAM2>
1971             sta ZPA
1972             sty ZPA+1
1973             sta ZPB
1974             stx ZPB+1
1975             ldx #4
1976             jsr PCOPY
1977 ;
1978             ldx #3
1979 ICON17CF    lda ICON17CDT,X
1980             sta A,X
1981             rts
1982             bpl ICON17CF
1983 ;
1984             lda ZSKOLDAT+61
1985             and #15
1986             sta ZSKOLDAT+61
1987             lda CSCANPTR
1988             and #3
1989             tax
1990             clc
1991             ror
1992             ror
1993             ror
1994             ora ZSKOLDAT+61
1995             sta ZSKOLDAT+61
1996             lda CSCANPTR
1997             lsr
1998             lsr
1999             lsr
2000             lsr
2001             sta A,X
2002             lda D
2003             ora #8
2004             sta D
2005 ;
2006             jsr ICON17CEX
2007             jsr WAITBUTTN
2008             lda #%00001111
2009             sta V+17
2010 ;
2011             lda #35
2012             ldy #8
2013             sta NTRACK
2014             sty NSECTOR
2015             ldx #ZSRAM1<
2016             ldy #ZSRAM1>
2017             lda #4
2018             jsr NLOAD
2019             lda #0
2020             ldy #VRAM2>
2021             ldx #ZSRAM1>+4
2022             sta ZPA
2023             sty ZPA+1
2024             sta ZPB
2025             stx ZPB+1
2026             ldx #4
2027             jsr PCOPY
2028             lda #VRAM1<
2029             ldy #VRAM1>
2030             sta ZPA
2031             sty ZPA+1
2032             lda #0
2033             ldx #8
2034             jsr PFILL
2035 ;
2036             jsr SHOPPIC2
2037             jsr MAPONSCR
2038             jsr IRQINIT
2039             cli
2040             dex
2041 ;
2042 ICON17CEX   lda #0
2043             sta V+21
2044             lda CIA2
2045             and #252
2046             sta CIA2
2047             lda #%00000010
2048             sta V+24
2049             lda #%11011000
2050             sta V+22
2051             lda B
2052             sta V+34
2053             lda C
2054             sta V+35
2055 ;
2056             lda #CRAM<
2057             ldy #CRAM>
2058             sta ZPA
2059             sty ZPA+1
2060             lda A
2061             ldx #4
2062             jsr PFILL
2063             lda #132
2064             ldy #VRAM1>
2065             ldx #CRAM>
2066             sta ZPA
2067             sty ZPA+1
2068             sta ZPB
2069             stx ZPB+1
2070             lda #16
2071             sta A
2072             ldx #0
2073 I17CEX1     ldy #0
2074 I17CEX1A    txa
2075             sta (ZPA),Y
2076             lda D
2077             sta (ZPB),Y
2078             inx
2079             iny
2080             cpy #16
2081             bcc I17CEX1A
2082             lda ZPA
2083             clc
2084             adc #40
2085             sta ZPA
2086             sta ZPB
2087             bcc I17CEX1B
2088             inc ZPA+1
2089             inc ZPB+1
2090 I17CEX1B    dec A
2091             bne I17CEX1
2092 ;
2093 ;
2094             lda #0
2095             sta A
2096             lda #MAPRAM<
2097             ldy #MAPRAM>
2098             sta I17CEXLD+1
2099             sty I17CEXLD+2
2100 ;
2101 I17CLP1     lda #16
2102             sta B
2103             lda A
2104             lsr
2105             lsr
2106             sta ZPA
2107             ldy #7
2108             lda #0
2109 I17CLP1B    asl ZPA
2110             rol
2111             dey
2112             bne I17CLP1B
2113             clc
2114             adc #ZSRAM1>
2115             sta ZPA+1
2116             lda A
2117             and #3
2118             asl
2119             clc
2120             adc ZPA
2121             sta ZPA
2122 ;
2123 I17CLP2     lda #4
2124             sta C
2125             ldy #0
2126             lda (ZPA),Y
2127             sta D
2128 ;
2129 I17CEXLD    lda MAPRAM
2130             and #63
2131             tax
2132             lda ZSKOLDAT,X
2133             asl
2134             rol D
2135             asl
2136             rol D
2137             inc I17CEXLD+1
2138             bne I17CLP2A
2139             inc I17CEXLD+2
2140 ;
2141 I17CLP2A    dec C
2142             bne I17CEXLD
2143             lda D
2144             sta (ZPA),Y
2145             iny
2146             sta (ZPA),Y
2147             lda ZPA
2148             clc
2149             adc #8
2150             sta ZPA
2151             dec B
2152             bne I17CLP2
2153             inc A
2154             lda A
2155             cmp #64
2156             bcc I17CLP1
2157             lda #%00011011
2158             sta V+17
2159             dex
2160 ;
2161 ICON17CDT   dat 0,5,6,1
2162 ;
2163 ;
2164 ;
2165 ICON17D     lda #5
2166             jsr ICON17PR
2167             jsr WAITBUTTN
2168             jsr MAPPOS
2169             lda PLRPOSX
2170             cmp CBUDDAT
2171             bne ICON17DX
2172             lda PLRPOSY
2173             cmp CBUDDAT+1
2174             beq ICON17DA
2175 ICON17DX    lda #2
2176             dat $2C
2177 ICON17DXA   lda #4
2178             jmp ICON17DPR
2179 ;
2180 ICON17DA    lda #0
2181             jsr ICON17DPR
2182             lda CBUDDAT+6
2183             ldx #EQUIPTEXT<
2184             ldy #EQUIPTEXT>
2185             jsr GUPSTRING
2186             lda #1
2187             jsr ICON17DPR
2188             jsr WAITSTICK
2189             beq ICON17DB
2190             dex
2191 ;
2192 ICON17DB    ldx CBUDDAT+6
2193             lda WAREN,X
2194             beq ICON17DXA
2195             dec WAREN,X
2196             cpx #24
2197             bcs ICON17DF
2198             cpx #16
2199             bcs ICON17DG
2200             cpx MOMWEAPON
2201             bne ICON17DF
2202             lda #19
2203             sta MOMWEAPON
2204             jsr SETWPNSHP
2205             jmp ICON17DF
2206 ICON17DG    txa
2207             sbc #16
2208             cmp MOMARMOR
2209             bne ICON17DF
2210             lda #9
2211             sta MOMARMOR
2212             jsr SETARMSHP
2213 ICON17DF    jsr STATUEEXE
2214             lda #3
2215             sta STATUEFLG
2216             jsr ICON17DPR
2217             jmp MAPONSCR
2218 ;
2219 ICON17DPR   ldx BUDDHATXT
2220             ldy BUDDHATXT+1
2221             jmp GUPSTRING
2222 ;
2223 ;
2224 ;
2225 ICON17EX    sty A
2226 ICON17EXA   lsr A
2227             ror
2228             rts
2229             bpl ICON17EXA
2230             bcc ICON17EXB
2231             dex
2232 ICON17EXB   ldx FOUNDVAR
2233             lda #0
2234             sta A
2235             sec
2236 ICON17EXC   rol
2237             rol A
2238             rts
2239             bpl ICON17EXC
2240             clc
2241             dex
2242 ;
2243 ICON17PR    ldx ICON17TXT
2244             ldy ICON17TXT+1
2245             jmp GUPSTRING
2246 ;
2247 ;
2248 PSEUDOIRQ   pha
2249             lda V+25
2250             sta V+25
2251             lda #1
2252             sta MAPSWFLG
2253             pla
2254 (b8)
2255 ;
2256 ICON17DTA   dat 33,33,33,33,33,33,33,33,34,34,34
2257 ICON17DTB   dat 9,10,11,12,13,14,15,16,0,1,2
2258 ;
2259 ;
2260 TIMESET     txa
2261             ldx ARTEFLIST
2262             ldy ARTEFLIST+1
2263             jsr GUPSTRING
2264             jsr WAITSTICK
2265             beq TIMESETIN
2266             dex
2267 TIMESETIN   lda #3
2268             jsr LTIMER
2269             ldx #3
2270 TIMESTLPA   lda TAG,X
2271             sta DOORSTAT,X
2272             rts
2273             bpl TIMESTLPA
2274             lda #2
2275             sta TALKANZ
2276             lda JAHR
2277             sec
2278             sbc AGE
2279             sta TALKSPR
2280             lda JAHR+1
2281             sbc #0
2282             sta TALKSPR+1
2283 TIMESETA    lda #1
2284             jsr NPRINT
2285             lda TALKANZ
2286             jsr TIMESETPR
2287 TIMESETD    ldx TALKANZ
2288             lda TIMSETDTA,X
2289             ldy TIMSETDTB,X
2290             cpx #1
2291             bne TIMESETE
2292             jsr TSMONTH
2293             jmp TIMESETF
2294 TIMESETE    tax
2295             lda #8
2296             jsr NINPUT
2297 TIMESETF    txa
2298             ldx TALKANZ
2299             sta TAG,X
2300             cpx #2
2301             bcc TIMESETB
2302             sty JAHR+1
2303             jmp TIMESETC
2304 TIMESETB    tay
2305             beq TIMESETD
2306             dec TAG,X
2307 TIMESETC    dec TALKANZ
2308             bpl TIMESETA
2309 ;
2310             jsr WOLLEN
2311             beq TIMESETG
2312             ldx #3
2313 TIMESTLPB   lda DOORSTAT,X
2314             sta TAG,X
2315             rts
2316             bpl TIMESTLPB
2317             lda #0
2318             jmp NPRINT
2319 ;
2320 TIMESETG    lda JAHR
2321             sec
2322             sbc TALKSPR
2323             sta TALKSPR
2324             lda JAHR+1
2325             sbc TALKSPR+1
2326             sta TALKSPR+1
2327             bcc TIMESETX
2328             bne TIMESETX
2329             lda TALKSPR
2330             cmp #80
2331             bcs TIMESETX
2332             sta AGE
2333             lda #3
2334             bne TIMESETPR
2335 ;
2336 TIMESETX    lda #5
2337             jmp GAMEEND
2338 ;
2339 TIMESETPR   ldx TIMSETTXT
2340             ldy TIMSETTXT+1
2341             jmp GUPSTRING
2342 ;
2343 TIMSETDTA   dat 31,12,9999<
2344 TIMSETDTB   dat 0,0,9999>
2345 ;
2346 ;
2347 TSMONTH     lda #0
2348             sta TALKANZ
2349 TSMONTHIN   jsr MONTHPR
2350             lda #1
2351             jsr LTIMER
2352 TSMONTHA    jsr WAITSTICK
2353             beq TSMONTHX
2354             cpx #2
2355             bcs TSMONTHA
2356             rts
2357             bmi TSMONTHB
2358             inc TALKANZ
2359             lda TALKANZ
2360             cmp #12
2361             bcc TSMONTHIN
2362             lda #1
2363             sta TALKANZ
2364 TSMONTHB    dec TALKANZ
2365             lda TALKANZ
2366             bpl TSMONTHIN
2367             lda #11
2368             sta TALKANZ
2369             bne TSMONTHIN
2370 ;
2371 TSMONTHX    ldx TALKANZ
2372             inx
2373             lda #1
2374             sta TALKANZ
2375             dex
2376 ;
2377 MONTHPR     lda #8
2378             sta NPSPALTE
2379             lda TALKANZ
2380             ldx ICN15BTXT
2381             ldy ICN15BTXT+1
2382             jmp ICN11PRIN
2383 ;
2384 ;---
2385 ;
2386 ICON18      lda SLEEPCTR
2387             bmi ICON18A
2388             cmp #8
2389             bcc ICON18A
2390             lda #2
2391             jmp STATPRINT
2392 ;
2393 ICON18A     jmp ASLEEP
2394 ;
2395 ;---
2396 ;
2397 ICON19      ldx ICON19TXT
2398             ldy ICON19TXT+1
2399             jsr PRSTRING
2400             lda RANDOM
2401             sta HIDEFLG
2402             lda V1+2
2403             ora #1
2404             sta V1+2
2405             jsr WAITSTICK
2406             lda #0
2407             sta HIDEFLG
2408             lda V1+2
2409             and #254
2410             sta V1+2
2411             dex
2412 ;
2413 ;---
2414 ;
2415 ICON20      ldx PLRDIR
2416             jsr PLPOSIT
2417             lda PLRRAM1
2418             cmp PLRRAM2
2419             bne ICON20X
2420             and #63
2421             cmp #SDOOR
2422             beq ICON20A
2423             cmp #WDOOR
2424             bne ICON20X
2425 ICON20A     lda #10
2426             jsr SETVOICE1
2427             ldy #0
2428             dec KEY
2429             lda SHAPE
2430             beq ICON20B
2431             lda #WASSER
2432             dat $2C
2433 ICON20B     lda (ZPA),Y
2434             and #%10111111
2435             sta (ZPA),Y
2436             jmp MAPONSCR
2437 ;
2438 ICON20X     lda #0
2439             jmp NORMTEXT
2440 ;
2441 ;--- ICON NEBENROUTINEN
2442 ;
2443 SHOPLOAD    ldy #3
2444             lda TALKSPR
2445             jsr MULT8BIT
2446             clc
2447             adc #600<
2448             tax
2449             tya
2450             adc #600>
2451             tay
2452             jsr GETTUS
2453             lda #3
2454 SHOPLDIN    pha
2455             txa
2456             pha
2457             tya
2458             pha
2459 SHOPLDC     lda CITYNR
2460             cmp #20
2461             bcc SHOPLDB
2462             lda #6
2463             dat $2C
2464 SHOPLDB     lda #5
2465             jsr DISKWAIT
2466             bcs SHOPLDC
2467             pla
2468             tay
2469             pla
2470             tax
2471             pla
2472             stx NTRACK
2473             sty NSECTOR
2474             sta NIECDAT
2475             lda NEXTVRAM
2476             cmp #$C0
2477             beq SHOPLOADA
2478             jsr MAPONSCR
2479 SHOPLOADA   ldx #0
2480             ldy #SHOPRAM>
2481             lda NIECDAT
2482             jmp NLOAD
2483 ;
2484 ;---
2485 ;
2486 SHOPDEAL    ldx TALKPERS
2487             ldy TALKSPR
2488             lda FIXPSHOP,X
2489             lsr
2490             lsr
2491             lsr
2492             lsr
2493             sta TALKANZ
2494 ;
2495             lda FIXPAANZ3,X
2496             lsr
2497             lsr
2498             lsr
2499             lsr
2500             sta TALKMEN
2501             pha
2502             asl
2503             adc #SHOPPRICE<
2504             sta NMENUNPTR
2505             lda #SHOPPRICE>
2506             sta NMENUNPTR+1
2507             jsr DEALHEAD
2508             pla
2509             clc
2510             adc EQUIPLIST,Y
2511             ldx #EQUIPTEXT<
2512             ldy #EQUIPTEXT>
2513             jsr GETSTRING
2514 ;
2515             lda #%10100001
2516             sta NMENUFLG
2517             lda TALKANZ
2518             jsr NMENU
2519 ;
2520             cmp TALKANZ
2521             bcs SHOPDEALA
2522             adc TALKMEN
2523             sta TALKMEN
2524             ldy TALKSPR
2525             adc EQUIPLIST,Y
2526             sta GEKAUFT
2527             lda TALKMEN
2528             clc
2529             dex
2530 SHOPDEALA   lda #1
2531             ldx #SHOPTEXT<
2532             ldy #SHOPTEXT>
2533             jsr GUPSTRING
2534             jsr SHOPPICOF
2535             sec
2536             dex
2537 ;
2538 ;---
2539 ;
2540 SHOPDEAL1   lda KAUFANZ
2541             sta F
2542             ldx GEKAUFT
2543             lda WAREN,X
2544             cmp #255
2545             beq SHOPDL1Y
2546 SHOPDL1A    lda TALKMEN
2547             asl
2548             tay
2549             lda SHOPPRICE,Y
2550             tax
2551             lda SHOPPRICE+1,Y
2552             jsr GOLDAB
2553             bcs SHOPDL1B
2554             lda F
2555             cmp KAUFANZ
2556             beq SHOPDL1X
2557             bne SHOPDL1Z
2558 SHOPDL1B    ldx GEKAUFT
2559             inc WAREN,X
2560             bne SHOPDL1C
2561             dec WAREN,X
2562             bne SHOPDL1Y
2563 SHOPDL1C    dec F
2564             bne SHOPDL1A
2565 ;
2566 SHOPDL1Z    ldx #SHOPTEXT< ;HAT GEK.
2567             ldy #SHOPTEXT>
2568             jsr PRSTRING
2569             lda GEKAUFT
2570             ldx #EQUIPTEXT<
2571             ldy #EQUIPTEXT>
2572             jsr GUPSTRING
2573             jsr WAITBUTTN
2574             clc
2575             dex
2576 ;
2577 SHOPDL1Y    ldx SHOPDLTXT   ;255
2578             ldy SHOPDLTXT+1 ;WAREN
2579             jsr PRSTRING
2580             jsr WAITBUTTN
2581             clc
2582             dex
2583 ;
2584 SHOPDL1X    ldx #SHOPTEXT< ;KEIN
2585             ldy #SHOPTEXT> ;GELD
2586             lda #2
2587             jsr GUPSTRING
2588             jsr WAITBUTTN
2589             sec
2590             dex
2591 ;
2592 ;---
2593 ;
2594 SHOPEXE     ldy TALKPERS
2595             lda FIXPSHOP,Y
2596             and #15
2597             sta TALKSPR
2598             asl
2599             tay
2600             lda SHOPEXEDT,Y
2601             sta SHOPEXEA+1
2602             lda SHOPEXEDT+1,Y
2603             sta SHOPEXEA+2
2604             lda #1
2605             sta KAUFANZ
2606 SHOPEXEA    jmp SHOP0
2607 ;
2608 SHOPEXEDT   dat SHOP0,SHOP1,SHOP2,SHOP3,SHOP4,SHOP5,SHOP6,SHOP7
2609             dat SHOP8,SHOP9,SHOP10,SHOP11,SHOP12,SHOP13,SHOP14,SHOP15
2610 ;
2611 ;
2612 SHOP0       lda #0   ;WEAPONS
2613             ldy #16
2614 SHOP0IN     sta SHOP0PTR
2615             sty SHOP0CTR
2616             jsr SHOPLOAD
2617             jsr SHOPPICON
2618 SHOP0A      jsr SHOPDEAL
2619             bcs SHOP0X
2620             ldx GEKAUFT
2621             lda WAREN,X
2622             bne SHOP0PR1
2623             ldx SHOP0PTR
2624             ldy SHOP0CTR
2625             lda #0
2626             sta A
2627 SHOP0B      lda WAREN,X
2628             clc
2629             adc A
2630             sta A
2631             bcs SHOP0PR0
2632             inx
2633             dey
2634             bne SHOP0B
2635             tax
2636             beq SHOP0C
2637             cpx SLAVE
2638             bcc SHOP0C
2639             bne SHOP0PR0
2640 SHOP0C      jsr SHOPDEAL1
2641             bcs SHOP0A
2642             ldy GEKAUFT
2643             lda #1
2644             sta WAREN,Y
2645             lda #0
2646             sta DAMAGECTR,Y
2647             jmp SHOP0A
2648 SHOP0X      dex
2649 ;
2650 SHOP0PR0    lda #0
2651             dat $2C
2652 SHOP0PR1    lda #1
2653             ldx SHOP0TXT
2654             ldy SHOP0TXT+1
2655             jsr GUPSTRING
2656             jsr WAITBUTTN
2657             jmp SHOP0A
2658 ;
2659 ;
2660 SHOP1       lda #16  ;ARMOR
2661             ldy #8
2662             jmp SHOP0IN
2663 ;
2664 ;
2665 SHOP2       jsr SHOPLOAD  ;FOOD
2666             jsr SHOPPICON
2667 SHOP2A      jsr SHOPDEAL
2668             bcs SHOP2X
2669             lda #3
2670             jsr ICON12PR
2671             lda SACK
2672             bne SHOP2C
2673             lda #20
2674             dat $2C
2675 SHOP2C      lda #50
2676             ldx #4
2677 SHOP2B      sec
2678             sbc FOOD,X
2679             rts
2680             bpl SHOP2B
2681             pha
2682             tax
2683             ldy #0
2684             clc
2685             jsr BYTEASC
2686             lda #4
2687             jsr ICON12PR
2688             lda #2
2689             jsr ICON12PR
2690             pla
2691             tax
2692             ldy #0
2693             lda #11
2694             jsr NINPUT
2695             txa
2696             beq SHOP2A
2697             sta KAUFANZ
2698             jsr SHOPDEAL1
2699             jmp SHOP2A
2700 SHOP2X      dex
2701 ;
2702 ;
2703 ;
2704 SHOP3       jsr SHOPLOAD  ;SKILL
2705             jsr SHOPPICON
2706 SHOP3A      jsr SHOPDEAL
2707             bcs SHOP3X
2708 ;
2709             tax
2710             lda WSKILLS,X
2711             cmp #3
2712             bcs SHOP3C
2713             txa
2714             jsr SHOPDEAL1
2715             bcs SHOP3A
2716             ldx TALKMEN
2717             inc WSKILLS,X
2718             cpx MOMWEAPON
2719             bne SHOP3B
2720             lda WSKILLS,X
2721             sta MOMSKILL
2722             jsr PRSKILL
2723 SHOP3B      jsr LEHRZEIT
2724             jmp SHOP3A
2725 ;
2726 SHOP3C      ldx SHOP3TXT
2727             ldy SHOP3TXT+1
2728             jsr PRSTRING
2729             lda GEKAUFT
2730             ldx #EQUIPTEXT<
2731             ldy #EQUIPTEXT>
2732             jsr GUPSTRING
2733             jsr WAITBUTTN
2734             jmp SHOP3A
2735 SHOP3X      dex
2736 ;
2737 ;
2738 ;
2739 SHOP4       jsr SHOPLOAD  ;STORE
2740             jsr SHOPPICON
2741 SHOP4A      jsr SHOPDEAL
2742             bcs SHOP3X
2743             tax
2744             lda SHOP4DAT,X
2745             beq SHOP4B
2746             lda #5
2747             jsr ICON12PR
2748             ldx #99
2749             ldy #0
2750             lda #11
2751             jsr NINPUT
2752             txa
2753             beq SHOP4A
2754             dat $2C
2755 SHOP4B      lda #1
2756             sta KAUFANZ
2757             jsr SHOPDEAL1
2758             jmp SHOP4A
2759 ;
2760 SHOP4DAT    dat 1,1,1,0,0,0,1
2761 ;
2762 ;
2763 ;
2764 SHOP5       jsr SHOPLOAD  ;BATH
2765             jsr SHOPPICON
2766 SHOP5A      jsr SHOPDEAL
2767             bcs SHOP5X
2768             jsr SHOPDEAL1
2769             bcs SHOP5A
2770 SHOP5B      ldx TALKMEN
2771             lda RESISTCTR
2772             clc
2773             adc SHOP5DATA,X
2774             cmp RESISTPTR
2775             bcc SHOP5C
2776             lda RESISTPTR
2777 SHOP5C      sta RESISTCTR
2778             lda SHOP5DATB,X
2779             beq SHOP5A
2780             jsr SHOP5IN
2781             jmp SHOP5A
2782 SHOP5X      dex
2783 ;
2784 SHOP5IN     pha
2785             lda #0
2786             jsr ICON2PR
2787             pla
2788             tax
2789             clc
2790             adc EXPCTR
2791             sta EXPCTR
2792             bcc SHOP5D
2793             inc EXPCTR+1
2794             bne SHOP5D
2795             dec EXPCTR+1
2796 SHOP5D      ldy #0
2797             clc
2798             jsr BYTEASC
2799             lda #1
2800             jsr ICON2PR
2801             jsr WAITBUTTN
2802             dex
2803 ;
2804 SHOP5DATA   dat 10,20,20,100
2805 SHOP5DATB   dat 0,0,50,70
2806 ;
2807 ;
2808 SHOP6       jsr SHOPLOAD  ;REPAIR
2809             jsr SHOPPICON
2810 SHOP6A      jsr SHOPDEAL
2811             bcs SHOP6X
2812             cmp #2
2813             beq SHOP6EX
2814             jsr SHOPDEAL1
2815             bcs SHOP6A
2816             lda TALKMEN
2817             bne SHOP6B
2818             ldx MOMWEAPON
2819             lda #0
2820             sta DAMAGECTR,X
2821             beq SHOP6A
2822 SHOP6B      ldx MOMARMOR
2823             lda #0
2824             sta DAMAGECTR+16,X
2825             beq SHOP6A
2826 SHOP6X      dex
2827 ;
2828 SHOP6EX     lda SHIPPOS
2829             bmi SHOP6EXA
2830             jsr SHOPDEAL1
2831             bcs SHOP6A
2832             lda #0
2833             sta SHPDAM
2834             lda #10
2835             sta SHPDAMCTR
2836             bne SHOP6A
2837 SHOP6EXA    lda #1
2838             ldx SHPDAMTXT
2839             ldy SHPDAMTXT+1
2840             jsr GUPSTRING
2841             jsr WAITBUTTN
2842             jmp SHOP6A
2843 ;
2844 ;
2845 SHOP7       jmp SHOP10    ;LIQUIDS
2846 ;
2847 ;
2848 SHOP8       jsr SHOPLOAD  ;MAGIC
2849             jsr SHOPPICON
2850 SHOP8A      jsr SHOPDEAL
2851             bcs SHOP8X
2852             jsr SHOPDEAL1
2853             bcs SHOP8A
2854             ldx TALKMEN
2855             lda ZWEIERPOT,X
2856             eor #%00001111
2857             and CURSES
2858             sta CURSES
2859             asl TALKMEN
2860             ldx TALKMEN
2861             lda SHOP8DAT,X
2862             ldy SHOP8DAT+1,X
2863             sta SHOP8B+1
2864             sty SHOP8B+2
2865 SHOP8B      jsr SHOP8R0
2866             jsr SHOPPICOF
2867 SHOP8X      dex
2868 SHOP8DAT    dat SHOP8R0,SHOP8R1,SHOP8R2,SHOP8R3
2869 ;
2870 SHOP8R0     lda #255
2871             sta CURSETYP
2872             dex
2873 ;
2874 SHOP8R1     dex
2875 ;
2876 SHOP8R2     ldx #6
2877             lda #$CCA0>
2878             jmp CURSELOAD
2879 ;
2880 SHOP8R3     dex
2881 ;
2882 ;
2883 SHOP9       jsr SHOPLOAD  ;STABLES
2884             jsr SHOPPICON
2885 SHOP9A      jsr SHOPDEAL
2886             bcs SHOP9X
2887             jsr SHOPDEAL1
2888             bcs SHOP9A
2889             lda #0
2890             sta STEEDSTAT
2891             beq SHOP9A
2892 SHOP9X      dex
2893 ;
2894 ;
2895 SHOP10      jsr SHOPLOAD  ;SLAVES
2896             jsr SHOPPICON
2897 SHOP10A     jsr SHOPDEAL
2898             bcs SHOP10X
2899             jsr SHOPDEAL1
2900             jmp SHOP10A
2901 SHOP10X     dex
2902 ;
2903 ;
2904 SHOP11      jsr SHOPLOAD  ;SHIP
2905             jsr SHOPPICON
2906 SHOP11A     jsr SHOPDEAL
2907             bcs SHOP11X
2908             jsr SHOPDEAL1
2909             bcs SHOP11B
2910             lda #0
2911             sta SHIP
2912             sta SHPDAM
2913             lda #10
2914             sta SHPDAMCTR
2915             ldx CSHIPPOS
2916             ldy CSHIPPOS+1
2917             stx SHIPPOS
2918             sty SHIPPOS+1
2919             lda CITYNR
2920             sta SHIPPOS+2
2921             lda #255
2922             sta SHIPPOS+3
2923             jsr CTRTORAM
2924             lda #CSHIPCHR
2925             ldy #0
2926             sta (ZPA),Y
2927             tya
2928             jsr NPRINT
2929             ldy TALKPERS
2930             lda FIXPANSL,Y
2931             tax
2932             lda FIXPANSH,Y
2933             tay
2934             lda #2
2935             jsr GUPSTRING
2936 SHOP11B     jsr SHOPPICOF
2937 SHOP11X     dex
2938 ;
2939 ;
2940 ;
2941 SHOP12      jsr SHOPLOAD  ;DOC
2942             jsr SHOPPICON
2943 SHOP12A     jsr SHOPDEAL
2944             bcs SHOP12X
2945             jsr SHOPDEAL1
2946             bcs SHOP12A
2947             lda TALKMEN
2948             asl
2949             tax
2950             lda SHOP12DAT,X
2951             sta SHOP12JMP+1
2952             lda SHOP12DAT+1,X
2953             sta SHOP12JMP+2
2954 SHOP12JMP   jsr SHOP12R0
2955             jmp SHOP12A
2956 SHOP12X     dex
2957 ;
2958 SHOP12DAT   dat SHOP12R0,SHOP12R1,SHOP12R2,SHOP12R3,SHOP12R4
2959 ;
2960 SHOP12R0    lda CURSES
2961             and #%00001000
2962             beq SHOP12R0A
2963             lda #0
2964             jsr NORMTEXT
2965             lda #7
2966             jmp STATPRINT
2967 SHOP12R0A   lda MAXHLH
2968             sta MOMHLH
2969             lda MAXSTR
2970             sta MOMSTR
2971             jsr DISPLAY
2972             lda MAXHTP
2973             sta MOMHTP
2974             lda #HLH+STR+HTP
2975             ora BALKENFLG
2976             sta BALKENFLG
2977             jmp DISPLAY
2978 ;
2979 SHOP12R1    dec TEMPSTR
2980             bne SHOP12X
2981             lda MAXSTR
2982             sta OLDSTR
2983             lda #48
2984             sta MOMSTR
2985             sta MAXSTR
2986             lda #12
2987             sta TEMPSTR
2988             lda #STR
2989             ora BALKENFLG
2990             sta BALKENFLG
2991             jmp DISPLAY
2992 ;
2993 SHOP12R2    lda #0
2994             sta SICKPTR
2995             jmp SHOP12R0
2996 ;
2997 SHOP12R3    lda AGE
2998             cmp #20
2999             bcc SHOP12R3A
3000             sbc #10
3001             cmp #20
3002             bcs SHOP12R3A
3003             lda #20
3004 SHOP12R3A   sta AGE
3005             lda #16
3006             jsr NORMTEXT
3007             ldx AGE
3008             ldy #0
3009             clc
3010             jsr BYTEASC
3011             jmp WAITBUTTN
3012 ;
3013 SHOP12R4    lda AGE
3014             cmp #71
3015             bcs SHOP12R3A
3016             adc #10
3017             bne SHOP12R3A
3018 ;
3019 ;
3020 SHOP13      jsr SHOPLOAD  ;TAVERN
3021             jsr SHOPPICON
3022 SHOP13A     jsr SHOPDEAL
3023             bcs SHOP13X
3024             jsr SHOPDEAL1
3025             bcs SHOP13A
3026             lda TALKMEN
3027             asl
3028             tax
3029             lda SHOP13DAT,X
3030             sta SHOP13JMP+1
3031             lda SHOP13DAT+1,X
3032             sta SHOP13JMP+2
3033 SHOP13JMP   jsr SHOP13R0
3034             lda CTAVPOS
3035             sec
3036             sbc ATTACKSPA
3037             sta MAPCX128
3038             lda CTAVPOS+1
3039             sec
3040             sbc ATTACKZEI
3041             sta MAPCY128
3042             jsr SHOPPICOF
3043             jsr ICON18A
3044             lda MAXHTP
3045             sta MOMHTP
3046             lda #HTP
3047             ora BALKENFLG
3048             sta BALKENFLG
3049 SHOP13X     dex
3050 ;
3051 SHOP13DAT   dat SHOP13R0,SHOP13R1,SHOP13R2,SHOP13R3
3052 ;
3053 SHOP13R0    dex
3054 ;
3055 SHOP13R1    lda RESISTCTR
3056             clc
3057             adc #10
3058             cmp RESISTPTR
3059             bcc SHOP13R0A
3060             lda RESISTPTR
3061 SHOP13R0A   sta RESISTCTR
3062             dex
3063 ;
3064 SHOP13R2    lda #24
3065             sta HUNGERCTR
3066             lda #0
3067             jmp ICON12PR
3068 ;
3069 SHOP13R3    lda RANDOM
3070             bpl SHOP13R3A
3071             ldx #0
3072             stx RESISTCTR
3073             inx
3074             stx SICKPTR
3075             lda #5
3076             jsr STATPRINT
3077 SHOP13R3A   lda #250
3078             jmp SHOP5IN
3079 ;
3080 ;
3081 SHOP14      ldy TALKPERS  ;RIDDLE
3082             lda FIXPAANZ2,Y
3083             bmi SHOP14IN
3084             jsr SHOPLOAD
3085             jsr SHOPPICON
3086 ;
3087 SHOP14IN    ldy TALKPERS
3088             lda FIXPSHOP,Y
3089             lsr
3090             lsr
3091             lsr
3092             lsr
3093             ldx #0
3094             cmp #8
3095             bcc SHOP14A
3096             inx
3097             and #7
3098 SHOP14A     tay
3099             lda ZWEIERPOT,Y
3100             stx NMENUWPTR
3101             sta NMENUWPTR+1
3102             and RIDDLES,X
3103             beq SHOP14B
3104             jsr SHOPPICOF
3105             lda #0
3106             jmp SHOP14PR
3107 ;
3108 SHOP14B     bit SHOPFLG
3109             bmi SHOP14G
3110             ldx #1
3111             stx SHOPFLG
3112 SHOP14G     ldx #34
3113             lda #2
3114             jsr SHOPLDIN
3115 SHOP14C     ldx #SHOPRAM+16<
3116             ldy #SHOPRAM+16>
3117             jsr PRSTRING
3118             jsr WAITBUTTN
3119             lda AHEADTXT
3120             ldy AHEADTXT+1
3121             sta NMENUHPTR
3122             sty NMENUHPTR+1
3123             ldx #SHOPRAM+128<
3124             ldy #SHOPRAM+128>
3125             lda #%11000001
3126             sta NMENUFLG
3127             lda #4
3128             jsr NMENU
3129             bmi SHOP14C
3130             cmp #4
3131             bcc SHOP14F
3132             lda #3
3133             jsr SHOP14PR
3134             jmp SHOPPICOF
3135 ;
3136 SHOP14F     tax
3137             lda SHOPRAM,X
3138             beq SHOP14E    ;FALSCH
3139 ;
3140             lda #1          ;RICHTIG
3141             jsr SHOP14PR
3142             ldx #SHOPRAM+128<
3143             ldy #SHOPRAM+128>
3144             lda NMENUCTR
3145             jsr GUPSTRING
3146             lda #1
3147             jsr NPRINT
3148             ldx SHOPRAM+4
3149             cpx #STR
3150             bne SHOP14DA
3151             lda TEMPSTR
3152             beq SHOP14DA
3153             lda #0
3154             sta TEMPSTR
3155             lda OLDSTR
3156             sta MOMSTR
3157             sta MAXSTR
3158 SHOP14DA    ldy #12
3159             lda MAXABIL,X
3160             cmp #12
3161             bcc SHOP14D
3162             ldy #24
3163             cmp #24
3164             bcc SHOP14D
3165             ldy #36
3166             cmp #36
3167             bcc SHOP14D
3168             ldy #47
3169 SHOP14D     tya
3170             sta MAXABIL,X
3171             sta MOMABIL,X
3172             lda ZWEIERPOT,X
3173             ora BALKENFLG
3174             sta BALKENFLG
3175             ldx NMENUWPTR
3176             lda NMENUWPTR+1
3177             ora RIDDLES,X
3178             sta RIDDLES,X
3179 SHOP14X     jmp SHOPPICOF
3180 ;
3181 SHOP14E     lda #2
3182             jsr SHOP14PR
3183             lda CURSES
3184             and #15
3185             cmp #15
3186             beq SHOP14I
3187 SHOP14EA    lda RANDOM
3188             and #3
3189             tax
3190             lda ZWEIERPOT,X
3191             and CURSES
3192             bne SHOP14EA
3193             txa
3194             asl
3195             tay
3196             lda ZWEIERPOT,X
3197             ora CURSES
3198             sta CURSES
3199             lda SHOP14DAT,Y
3200             sta SHOP14H+1
3201             lda SHOP14DAT+1,Y
3202             sta SHOP14H+2
3203 SHOP14H     jsr SHOP14R0
3204 SHOP14I     jmp SHOPPICOF
3205 ;
3206 SHOP14DAT   dat SHOP14R0,SHOP14R1,SHOP14R2,SHOP14R3
3207 ;
3208 SHOP14PR    ldx SHOP14TXT
3209             ldy SHOP14TXT+1
3210             jmp GUPSTRING
3211 ;
3212 SHOP14R0    ldx LEVEL
3213             cpx #4
3214             bcc SHOP14R0A
3215             ldx #3
3216 SHOP14R0A   lda SHP14R0DT,X
3217             sta CURSETYP
3218             dex
3219 SHP14R0DT   dat 18,22,24,27
3220 ;
3221 SHOP14R1    dex
3222 ;
3223 SHOP14R2    ldx #0
3224             lda #$CCA0>
3225             jmp CURSELOAD
3226 ;
3227 SHOP14R3    dex
3228 ;
3229 ;
3230 SHOP15      jsr SHOPLOAD  ;SENSEI
3231             jsr SHOPPICON
3232 SHOP15A     jsr SHOPDEAL
3233             bcs SHOP15X
3234             jsr SHOPDEAL1
3235             bcs SHOP15A
3236             jsr LEHRZEIT
3237             lda GEKAUFT
3238             cmp #MSENSEI-WAREN
3239             bne SHOP15B
3240             lda MAXWIT
3241             sta MOMWIT
3242             lda #WIT
3243             ora BALKENFLG
3244             sta BALKENFLG
3245 SHOP15B     jsr SHOPPICOF
3246 SHOP15X     dex
3247 ;
3248 ;--- LADENBILD PRINTEN
3249 ;
3250 SHOPPICOF   lda SPICOFFDT
3251             bmi SHOPPICOX
3252             lda #SHOPZS>
3253             ldy #ZSRAM2+$0600>
3254             ldx #2
3255             jsr SWAPCOPY
3256             lda #'$'
3257             jsr SHOPPIC1
3258             jsr ESTOP
3259             inc ENEMYFLG
3260             jsr SPRONSCR
3261 SHOPPICOX   jsr MAPONSCR
3262             lda #0
3263             sta SHOPFLG
3264             dex
3265 ;
3266 SPICOFFDT   dat 0
3267 ;
3268 ;
3269 SHOPPICON   ldy TALKPERS
3270             lda FIXPAANZ2,Y  ;OHNE
3271             sta SPICOFFDT
3272             bpl SHOPPICIN    ;BILD
3273             lda #1
3274             sta SHOPFLG
3275             dex
3276 ;
3277 SHOPPICIN   ldx #63
3278 SHOPPICB    lda SHOPICCOL,X
3279             sta ZS2FARBDT+192,X
3280             rts
3281             bpl SHOPPICB
3282 ;
3283             lda #SHOPZS>
3284             ldy #ZSRAM2+$0600>
3285             ldx #2
3286             jsr SWAPCOPY
3287 ;
3288             lda #32
3289             jsr SHOPPIC1
3290             ldy #0
3291 SHOPPICI    lda SHOPHEAD,Y
3292             eor #38
3293             eor #105
3294             bmi SHOPPICJ
3295             and #63
3296             sta VRAM3+532,Y
3297             iny
3298             cpy #16
3299             bcc SHOPPICI
3300 SHOPPICJ    and #63
3301             sta VRAM3+532,Y
3302 ;
3303             jsr SHOPPIC2
3304             dec SHOPFLG
3305             dex
3306 ;
3307 ;
3308 SHOPPIC1    ldy #39
3309 SHOPPIC1A   sta VRAM3+520,Y
3310             dey
3311             bpl SHOPPIC1A
3312             dex
3313 ;
3314 ;
3315 SHOPPIC2    lda #VRAM3<
3316             ldy #VRAM3>
3317             ldx #CRAM>
3318             sta ZPA
3319             sty ZPA+1
3320             sta ZPB
3321             stx ZPB+1
3322             lda #4
3323             sta A
3324             ldy #0
3325 SHOPPIC2A   lda (ZPA),Y
3326             tax
3327             lda ZS2FARBDT,X
3328             sta (ZPB),Y
3329             dey
3330             bne SHOPPIC2A
3331             inc ZPA+1
3332             inc ZPB+1
3333             dec A
3334             bne SHOPPIC2A
3335             lda #2
3336             sta CRAM+800
3337             sta CRAM+801
3338             sta CRAM+802
3339             sta CRAM+803
3340             sta CRAM+805
3341             dex
3342 ;
3343 ;
3344 ;--- NAMEN AUSGEBEN
3345 ;
3346 PRNAME      lda RANDOM
3347             and #3
3348             ldx PRNAMETXT
3349             ldy PRNAMETXT+1
3350             jsr GUPSTRING
3351             lda TALKPERS
3352             ldy #14
3353             jsr MULT8BIT
3354             clc
3355             adc #FIXPNAME<
3356             tax
3357             tya
3358             adc #FIXPNAME>
3359             tay
3360             jmp PRSTRING
3361 ;
3362 ;--- TYP AUSGEGEN
3363 ;
3364 PRTYP       php
3365             ldx PRTYPTXT
3366             ldy PRTYPTXT+1
3367             jsr PRSTRING
3368             plp
3369             bcs PRTYPA
3370             lda #19
3371             jmp NORMTEXT
3372 PRTYPA      ldx TALKSPR
3373             lda SMTYP,X
3374 PRTYPIN     and #31
3375             pha
3376             tay
3377             lda ENAMEDAT,Y
3378             lsr
3379             lsr
3380             clc
3381             adc #1
3382             ldx PRTYPTXT
3383             ldy PRTYPTXT+1
3384             jsr GUPSTRING
3385             pla
3386             ldx #ENAMERAM<
3387             ldy #ENAMERAM>
3388             jsr GUPSTRING
3389             lda #1
3390             jmp NPRINT
3391 ;
3392 ;
3393 ;
3394 DEALHEAD    txa
3395             pha
3396             tya
3397             pha
3398             ldx GOLD
3399             ldy GOLD+1
3400             lda #'0'
3401             jsr BYTEHEAD
3402             ldx GOLDTXT
3403             ldy GOLDTXT+1
3404             stx ZPA
3405             sty ZPA+1
3406             stx NMENUHPTR
3407             sty NMENUHPTR+1
3408             ldy #4
3409 DEALHEADA   lda BTESTRDTC,Y
3410             and #127
3411             sta (ZPA),Y
3412             dey
3413             bpl DEALHEADA
3414             pla
3415             tay
3416             pla
3417             tax
3418             dex
3419 ;
3420 ;--- OFFER GOLD
3421 ;
3422 TALKAKT     cmp #4
3423             beq TALKAKTA
3424             sec
3425             dex
3426 TALKAKTA    ldx #10
3427             lda #0
3428             jmp GOLDAB
3429 ;
3430 ;
3431 LEHRZEIT    lda #2
3432             tay
3433             clc
3434             adc JAHR
3435             sta JAHR
3436             lda JAHR+1
3437             adc #0
3438             sta JAHR+1
3439             lda RANDOM
3440             and #7
3441             sta MONAT
3442             lda RANDOM
3443             and #15
3444             sta TAG
3445             lda RANDOM
3446             and #15
3447             sta STUNDE
3448             ldx #3
3449             jmp CLOCKEXE
3450 ;
3451 ;
3452 WOLLEN      lda #20
3453             jsr NORMTEXT
3454             lda #1
3455             jsr NORMTEXT
3456             jmp WAITSTICK
